"""
要将"China"译成密码，译码规律是：用原来字母后面的第4个字母代替原来的字母．
例如，字母"A"后面第4个字母是"E"．"E"代替"A"。因此，"China"应译为"Glmre"。
请编一程序，用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为，’C’、’h’、’i’、’n’、’a’，经过运算，使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’，并输出。
"""

def translate_to_password(input_string):
    # 遍历字符串中的每一个字符
    output_string = ""
    for letter in input_string:
        # 检查字符是否是字母
        if letter.isalpha():
            # 根据字母的大小写决定是向前还是向后偏移
            if letter.isupper():
                # 先计算与A的记录再从A开始
                output_string += chr((ord(letter) - ord('A') + 4) % 26 + ord('A'))
            else:
                output_string += chr((ord(letter) - ord('a') + 4) % 26 + ord('a'))
        else:
            # 如果是非字母字符，则直接添加到结果字符串中
            output_string += letter
    return output_string

# 测试代码
print(translate_to_password("ChiXYZ"))

# 其他方法02
# inp=input()
# for i in inp:
#     tmp=chr(ord(i)+4)
#     if not tmp.isalpha():
#         tmp=chr(ord(tmp)-26)  # 不是字母就回退
#     print(tmp,end='')




#更好分离 01
# def encrypt_letter(letter):
#     if letter.isupper():
#         # 对于大写字母，从'A'开始计算偏移
#         return chr((ord(letter) - ord('A') + 4) % 26 + ord('A'))
#     else:
#         # 对于小写字母，从'a'开始计算偏移
#         return chr((ord(letter) - ord('a') + 4) % 26 + ord('a'))
#
#
# def encrypt_string(input_string):
#     output_string = ""
#     for letter in input_string:
#         # 检查字母是否需要加密（这里只加密字母，忽略其他字符）
#         if letter.isalpha():
#             output_string += encrypt_letter(letter)
#         else:
#             # 如果不是字母，则原样添加到输出字符串中
#             output_string += letter
#     return output_string
#
#
# # 示例使用
# input_string = "China123"
# encrypted_string = encrypt_string(input_string)
# print(f"加密后的字符串为: {encrypted_string}")